package cn.wolfcode.education.service;

import cn.wolfcode.education.domain.RegularStu;
import cn.wolfcode.education.domain.SystemDictionaryItem;
import cn.wolfcode.education.query.QueryObject;
import cn.wolfcode.education.query.RegularStuQuery;
import cn.wolfcode.education.util.PageResult;

import java.util.List;
import java.util.Map;

public interface IRegularStuService {
    //保存方法
    void insert(RegularStu regularStu);
    //更新方法
    void update(RegularStu regularStu);
    //查询方法
    PageResult query(RegularStuQuery qo);
    //退学方法
    void removeStu(Long id);
    //休学方法
    void restStu(Long id);
    //恢复正常方法
    void recoverStu(Long id);
    //升班方法
    void promote(Long id,int status);
    //毕业方法
    void endRegularStu(Long id);
    //留级方法的实现
    void retentionRegularStu(Long id,Long classgradeId);
    //查询所有校区的实现
    List<SystemDictionaryItem> selectAllCampusBySystemDictionary();
    //查询所有学院的实现
    List<SystemDictionaryItem> selectAllCollegeBySystemDictionary();
    //查询所有支付类型的实现
    List<SystemDictionaryItem> selectAllPaymentType();
    //查询所有付款方式的实现
    List<SystemDictionaryItem> selectAllPayment();
    //查询正式学员报表方法的实现
    List<Map<String,Object>> queryForRegularStuChart(QueryObject qo);
    // 查询某个学员是否存在
    void isExsists(String stuName);
}
